﻿// 再见 鱼  SOLONG.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/SOLONG

回答：

在手机或平板等输入不便的设备上，为了实现快速打字，提供了强大的自动完成功能。赛瑞斯赛博技术有限公司最近推出的海豚专用平板的自动完成算法利用存储的N个单词来执行自动完成。当海豚开始输入新单词时，自动完成系统会自动推荐以目前已输入部分开头的字典中出现频率最高的单词。如果有多个出现频率最高的单词，则按字母顺序（海豚的字典也遵循字母顺序）推荐最前面的单词。当海豚按下Tab键时，当前推荐的单词将自动输入。

举个例子，假设字典中包含以下7个单词：

单词：ALL	AND	FISH	FOR	SO	THANKS	THE
出现频率：4	3	8	6	4	9	9

翻译：

在这种情况下，要输入字符串 "SO LONG AND THANKS FOR ALL THE FISH"。当海豚按下 S 键时，自动完成系统会自动推荐 SO，并且按下 Tab 键后会输入 SO。以此类推，需要按键 4 次（不推荐 LONG，因为它不在字典中），3 次（AN 和 Tab），2 次（T 和 Tab），3 次（FO 和 Tab），2 次（A 和 Tab），3 次（THE 需要全部输入），2 次（F 和 Tab）。再加上 7 个空格字符，总共需要按键 28 次。

然而，由于该平板电脑没有编辑已输入的单词的功能，因此无法通过输入 THANKS 然后删除 "S" 来生成 "THANK"，也无法通过输入 THE 然后添加 "RE" 来生成 "THERE"。

海豚的鳍不适合平板电脑的输入，因此希望用尽可能少的按键次数输入整个句子。请编写一个程序，根据平板电脑的自动完成算法使用的单词和每个单词的出现频率，计算输入给定长字符串所需的最小按键次数。

输入：
第一行包含一个测试用例的数量 C（1 <= C <= 10）。
每个测试用例的第一行包含字典中包含的单词数量 N（1 <= N <= 10000）和要输入的单词数量 M（1 <= M <= 20000）。
接下来的 N 行中，每行包含一个字符串和一个整数，表示字典中包含的单词及其出现频率，顺序无关紧要。
然后一行包含 M 个单词，表示要输入的字符串。
所有单词都由大写字母组成，长度最长为 10。

由于输入量可能很大，请使用快速的输入函数。

输出：
对于每个测试用例，输出一个整数，表示输入所有单词所需的最小按键次数。

예제 입력
2
7 8
ALL 4
AND 3
FISH 8
FOR 6
SO 4
THANKS 9
THE 9
SO LONG AND THANKS FOR ALL THE FISH
7 8
ALL 4
AND 5
FISH 3
FOR 6
SO 8
THANKS 1
THE 2
SO LONG AND THANKS FOR ALL THE FISH
예제 출력
28
29
*/
int main()
{
    std::cout << "Hello World!\n";
}

 